In digital image processing, each pixel value in a digital image is represented by a set of finite integer numbers and bounded by two integer numbers called the “lower bound” and “upper bound”. The pixel value represents the grayscale level or the brightness of a pixel which is bounded within the lower bound and upper bound. The lower bound usually is chosen to be 0 (black color in grayscale level) and the corresponding upper bound equals 2n−1 (white color in grayscale level), where n is the number of bits (binary numbers) used for representing the grayscale level (e.g., in 8-bit grayscale image, lower bound=0 and upper bound=28−1=256−1=255). For example, in an 8-bit grayscale digital image, each pixel value belongs to the set of 256 integer numbers {0, 1, . . . , 255}, wherein the lower and upper bounds are 0 and 255, respectively.
Typically, when image sharpness enhancement is applied to a digital input image, the resulting output image contains many shoot artifacts (e.g., overshoots, undershoots, etc.) around sharp transition areas such as strong edges in the input image. Those shoot artifacts can either remain within, or go beyond, the lower and upper bounds of the pixels in the image. Conventionally, the shoot artifacts that go beyond said lower and upper bounds, are clipped according to the lower bound L and upper bound U. Specifically, the shoot artifacts are set to L if they are less than L, and set to U if greater than U. However, by extensive experiment and testing, it has been observed that the conventional clipping method results in the jaggedness artifact along the strong edges and lines in the image.